Identifying Overly Restrictive Matching Patterns in SMT-Based Program Verifiers

نویسندگان

چکیده

Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and express properties of arrays. SMT-based verifiers typically reason about them via E-matching, an SMT algorithm that requires syntactic matching patterns guide the quantifier instantiations. Devising good is challenging. In particular, overly restrictive may lead spurious verification errors if needed a are not instantiated; they also conceal unsoundness caused inconsistent axiomatizations. this paper, we present first technique identifies helps users remedy effects patterns. We designed novel synthesize missing triggering terms required complete proof. Tool developers can use information refine their prevent similar errors, or fix detected unsoundness.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Usable Program Verifiers

Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical systems, like aircrafts or medical equipment, even a single bug can lead to catastrophic impacts such as injuries or death. Formal verification can be used to statically track code deficiencies by proving or disproving correctness properties of a system. However, at its current state formal verific...

متن کامل

Speeding Up SMT-Based Quantitative Program Analysis

Quantitative program analysis involves computing numerical quantities about individual or collections of program executions. An example of such a computation is quantitative information flow analysis, where one estimates the amount of information leaked about secret data through a program’s output channels. Such information can be quantified in several ways, including channel capacity and (Shan...

متن کامل

Trigger Selection Strategies to Stabilize Program Verifiers

SMT-based program verifiers often suffer from the so-called butterfly effect, in which minor modifications to the program source cause significant instabilities in verification times, which in turn may lead to spurious verification failures and a degraded user experience. This paper identifies matching loops (ill-behaved quantifiers causing an SMT solver to repeatedly instantiate a small set of...

متن کامل

SMT-Based False Positive Elimination in Static Program Analysis

Static program analysis for bug detection in large C/C++ projects typically uses a high-level abstraction of the original program under investigation. As a result, so-called false positives are often inevitable, i.e., warnings that are not true bugs. In this work we present a novel abstraction refinement approach to automatically investigate and eliminate such false positives. Central to our ap...

متن کامل

Metformin in advanced chronic kidney disease: are current guidelines overly restrictive?

Type 2 diabetes mellitus and chronic kidney disease (CKD) frequently co-exist and the increasing burden of both conditions is a global concern. Metformin is established as the first-line treatment for type 2 diabetes because it is associated with improved cardiovascular outcomes and a reduced risk of hypoglycaemia compared with other treatment options. Patients with CKD may benefit in particula...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Lecture Notes in Computer Science

سال: 2021

ISSN: ['1611-3349', '0302-9743']

DOI: https://doi.org/10.1007/978-3-030-90870-6_15